The present invention relates to a method and apparatus for embedding (e.g., hiding) data in a primary or host data signal, and more particularly to a scheme for inserting one or more auxiliary data signals into a primary data signal being communicated over existing channels. The primary data signal may include an electromagnetic or acoustic signal, for example, which provides an analog or digital representation of the data. Methods and apparatus for recovering the embedded data from the primary data signal are also disclosed, along with specific applications of the invention.
Recently, techniques have been developed for increasing the amount of information that can be carried within a channel of a given bandwidth. For example, techniques for compressing digital data to squeeze more data within a given bandwidth or storage space are well known.
Another approach to communicating additional data within a given bandwidth is to identify areas where supplemental information can be transported with a primary signal, without adversely affecting the transport of the primary signal itself. Such techniques can be used in combination with known compression methods. One such technique is the transport of data together with a primary data signal, where the bandwidth of the channel remains as is, and additional information is packed with the primary data such that the additional information can be retrieved without substantially degrading the quality of the primary data signal.
One method for embedding digital information in a primary data signal such as an audio signal is disclosed in U.S. Pat. No. 5,319,735, entitled "Embedded Signalling." This patent discloses the generation of a code signal representing a sequence of code symbols to be embedded, the code signal having frequency components essentially confined to a preselected signaling band lying within and less than the bandwidth of the audio signal. The audio signal is continuously frequency analyzed over a frequency band encompassing the signaling band. The code signal is dynamically filtered as a function of the analysis to provide a modified code signal with frequency component levels which, at each time instant, are essentially negligibly small outside the signaling band. At each frequency within the signaling band, the frequency component levels of the modified code signal are essentially a preselected proportion of the levels of the audio signal frequency components in a corresponding frequency range. The modified code signal is combined with the audio signal to provide a composite audio signal.
The frequency analysis and dynamic filtering is accomplished using a large bank of bandpass filters, which leads to a rather complicated and expensive implementation that may have limited practical value. Additionally, the computational requirements are multiplied by the number of bandpass filters.
It would be advantageous to provide a more robust scheme for hiding data in a primary data signal. For example, it would be advantageous to hide data in a primary audio data signal that has frequency components below, in, and/or above the audible range. Such a scheme should enable a plurality of different data streams to be carried with the primary data signal without substantially altering the quality of the primary data signal, where different data streams may be provided at different data rates and combined in any number of ways prior to being added to the primary data signal.
Moreover, different data streams or combinations thereof should also be able to be added to the primary data signal in a "cascade" approach after other streams have already been added to the primary data signal. The combined data streams should be able to be provided at different levels (i.e., with different gains) in the primary data signal, and the power of the combined streams should be adjustable to maintain the combination at a desired level within the primary data signal.
Further, the type of information carried by the primary data signal should be virtually unlimited. For example, it would be advantageous to allow data that is completely unrelated to the primary data signal to be carried. Similarly, it would be advantageous to enable data ancillary to the primary data to be carried, such as data for effecting a copy protection scheme which precludes the primary data signal from being copied without proper authorization, or for otherwise controlling the use of the program or other information (e.g., video or multimedia) which is associated with the primary data signal.
Information identifying the content of the primary data signal, such as the name and/or performers of an audio or video program, or the manufacturer or distributor of a primary data signal stored on a source media such as compact disc or magnetic tape, and polling information for market research or commercial verification might also be hidden using such a scheme. Further, the scheme should allow the hiding of either a modulated carrier, an unmodulated carrier (e.g., pilot), or a combination of both in the primary data signal.
In particular, the technique should overcome practical limitations, including computational loads, that occur with moderate to high Linear Predictive Coding (LPC) orders with LPC-based Hidden Data Transport (HDT) encoding techniques. With LPC-based HDT encoding techniques, as the LPC order (N) is increased, modeling of the primary data signal becomes more accurate, and the auxiliary data can be embedded more precisely, e.g., with a more precise power level and spectral shaping. However, the computational complexity of the autocorrelation and filtering used in LPC increase linearly with N, and the computational complexity of the LPC analysis using Durbin's recursion increase with N.sup.2.
Accordingly, it would be advantageous to use frequency and time domain processing to provide auxiliary data in a number of subbands of a primary data signal, where the model order can be reduced in each subband relative to a full band implementation for comparable spectral modeling performance. The frequency and time domain technique should further provide improved spectral modeling of deep spectral valleys and spectral floors relative to a full band implementation.
The present invention relates to methods and apparatus for transporting and recovering auxiliary information hidden in a primary data signal having the aforementioned and other advantages.